package com.tian.feign;

import com.tian.dto.UserCouponAddDto;
import com.tian.dto.UserCouponRecordListRespDto;
import com.tian.dto.UserCouponRecordReqDto;
import com.tian.util.CommonResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author tianwc 公众号：java后端技术全栈、面试专栏
 * @version 1.0.0
 * @date 2023年05月15日 22:50
 * 博客地址：<a href="http://woaijava.cc/">博客地址</a>
 * <p>
 * 用户领取优惠券，列表
 */
@FeignClient(contextId = "userCouponFeignClient", value = "charge-service", fallbackFactory = ChargeRecordFallback.class)
public interface UserCouponFeignClient {
    /**
     * 用户领取优惠券
     */
    @PostMapping("/user/coupon/receive")
    CommonResult<Boolean> receive(@RequestBody UserCouponAddDto userCouponAddDto);

    /**
     * 查询用户领取优惠券列表
     */
    @PostMapping("/user/coupon/list")
    CommonResult<UserCouponRecordListRespDto> list(UserCouponRecordReqDto userCouponRecordReqDto);
}
